package com.eeds.model.project.req;

import com.eeds.common.enums.ProjectStatus;
import com.eeds.common.model.ReqUserId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@ApiModel("修改項目信息请求参数")
@EqualsAndHashCode(callSuper =false)
public class ReqUpdateProjectVO extends ReqUserId {

    @ApiModelProperty(value = "项目id")
    @NotNull(message = "项目id不能为空")
    private Long idProAdmin;

    /**
     * 客户名称
     */
    @ApiModelProperty(value="客户名称")
    private String customerName;
    /**
     * 省份
     */
    @ApiModelProperty(value="省份")
    private Long customerProvinces;
    /**
     * 城市
     */
    @ApiModelProperty(value="城市")
    private Long customerCities;
    /**
     * 县城
     */
    @ApiModelProperty(value="县城")
    private Long customerCounties;
    /**
     * 详细地址
     */
    @ApiModelProperty(value="详细地址")
    private String customerAddress;
    /**
     * 客户电话
     */
    @ApiModelProperty(value="客户电话")
    private String customerPhone;
    /**
     * 联系人
     */
    @ApiModelProperty(value="联系人")
    private String customerContacts;
    /**
     * 装电总容量
     */
    @ApiModelProperty(value="装电总容量")
    private String electricTotalCapacity;
    /**
     * 电压等级
     */
    @ApiModelProperty(value="电压等级")
    private String voltageGrade;
    /**
     * 第一阶段时长
     */
    @ApiModelProperty(value="第一阶段时长")
    private Integer oneTime;
    /**
     * 第一阶段人员    指向人员ID
     */
    @ApiModelProperty(value="第一阶段人员    指向人员ID")
    private Long idxOneOperator;
    /**
     * 第二阶段时长
     */
    @ApiModelProperty(value="第二阶段时长")
    private Integer twoTime;
    /**
     * 第二阶段人员
     */
    @ApiModelProperty(value="第二阶段人员")
    private Long idxTwoOperator;
    /**
     * 第三阶段时长
     */
    @ApiModelProperty(value="第三阶段时长")
    private Integer threeTime;
    /**
     * 第三阶段人员
     */
    @ApiModelProperty(value="第三阶段人员")
    private Long idxThreeOperator;
    /**
     * 间隔审批状态
     */
    @ApiModelProperty(value="间隔审批状态")
    private Integer funIntervalApprovalState;
    /**
     * 申请双重编号状态
     */
    @ApiModelProperty(value="申请双重编号状态")
    private Integer funDoubleHeavyState;
    /**
     * 告知条形码申请状态
     */
    @ApiModelProperty(value="告知条形码申请状态")
    private Integer funInformState;
    /**
     * 告知高可靠性费用收取状态
     */
    @ApiModelProperty(value="告知高可靠性费用收取状态")
    private Integer funHighChargeState;
    /**
     * 保护定值报送状态
     */
    @ApiModelProperty(value="保护定值报送状态")
    private Integer funFixedValuePresentationState;
    /**
     * 送电时间
     */
    @ApiModelProperty(value="送电时间")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date powerTransmissionTime;
    /**
     * 当前项目进度
     */
    @ApiModelProperty(value="当前项目进度")
    private Integer currentProgress;
    /**
     * 是否归档
     */
    @ApiModelProperty(value="是否归档")
    private Integer fileEnd;
    /**
     * 归档清单
     */
    @ApiModelProperty(value="归档清单")
    private String fileEndDetailed;
    /**
     * 提交状态  1：保存  2：预提交   3：提交
     */
    @ApiModelProperty(value="提交状态  1：保存  2：预提交   3：提交")
    private Integer submitState;
    /**
     * 用户满意度评价表
     */
    @ApiModelProperty(value="用户满意度评价表")
    private String customerSatisfaction;
    /**
     * 施工单位
     */
    @ApiModelProperty(value="施工单位")
    private String constructionUnit;
    /**
     * 竣工资料收集时间
     */
    @ApiModelProperty(value="竣工资料收集时间")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date completionDataTime;
//    /**
//     * 用户状态0 - 停用1 - 启用2 - 出现违规情况而被停用
//     */
//    @ApiModelProperty(value="用户状态0 - 停用1 - 启用2 - 出现违规情况而被停用")
//    private ProjectStatus status;

    @ApiModelProperty(value = "送电状态")
    private Integer transmissionStatus;

}
